home *** CD-ROM | disk | FTP | other *** search
-
- #include <bios.h>
- #include <stdio.h>
-
- #define SIZE_FIELD 10
-
- struct s_test
- {
- int filler;
- char field[SIZE_FIELD];
- };
-
- struct s_test test_structure = {1, "TESTFIELD"};
- struct s_test *structure_pointer = &test_structure;
- char *char_pointer = test_structure.field;
-
- #define REPEAT_LIMIT 100000L
-
- time_function(p_function)
- int (*p_function)();
- {
- long start_time, stop_time;
- long l;
-
- _bios_timeofday(_TIME_GETCLOCK, &start_time);
-
- for (l=0; l < REPEAT_LIMIT; l++)
- {
- (*p_function)();
- }
-
- _bios_timeofday(_TIME_GETCLOCK, &stop_time);
-
- printf("\n Elapsed time %ld start %ld stop %ld repetitions %ld",
- stop_time - start_time, start_time, stop_time, REPEAT_LIMIT);
- }
-
- dummy_function(pointer)
- void *pointer;
- {
- return;
- }
-
- access_with_char_pointer()
- {
- char *cp;
- cp = char_pointer;
- dummy_function(cp);
- }
-
- access_with_structure_pointer()
- {
- char *cp;
- cp = structure_pointer->field;
- dummy_function(cp);
- }
-
- main()
- {
- printf("\n Dummy function");
- time_function(dummy_function);
-
- printf("\n access_with_char_pointer");
- time_function(access_with_char_pointer);
-
- printf("\n access_with_structure_pointer");
- time_function(access_with_structure_pointer);
- }
-